Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Before this PR,
tenacity
was invoked when errors different thanApiError
fromhttpx
were raised. However, when the endpoint is momentarily unavailable, the client often raises anApiError
with a text body. See:nixtla/nixtlats/client.py
Line 229 in 1e2e632
This behavior can be used as a proxy for the unavailability of the endpoint. If the endpoint is available but has a server error, the endpoint should return a JSON-decodable response, and a text response otherwise.
This approach was implemented in this PR and tested with a couple of tests ensuring retrying with a response of this kind and providing no retrying when the server responds in a JSON-decodable manner.